<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Contenido_lst( $this );

	class Contenido_lst extends Lst
	{
	function Contenido_lst( &$oModule )
		{
			$this->Lst( $oModule );
		}
	function setLevel()
		{
			switch ( $this->getOptionView() )
			{
				case 'E':
				case 'L':
					$this->aShowColumns = array( 'bEstrella' , 'ncRotulo', 'Nombre' );
					break;
			}
		}
	function makeColumn ( $aRow, $cField )
		{
			switch( $cField )
			{
				case 'KeyLookUp':
					$cReturn = $aRow['ncContenido'];
					break;
				case 'DescriptionLookUp':
					$cReturn = extractLanguage($aRow['cdContenido'], 'es');
					break;
			}
			return $cReturn ;
		}
	function initialize()
		{
			$this->oFiltro = $this->oModule->loadClass( 'Contenido_frm' );
			$this->aFields = array_merge ( (array)$this->aFields,  (array)$this->oFiltro->getFieldArray() );
			$this->setTitle ( "Contenido" );
			$this->setSummary( "Esta tabla contiene el listado de Contenidos" );
			$this->addColumn ( 'Codigo', 'ncContenido', true );
			$this->addColumnMultilanguage ( 'Nombre', 'cdContenido', 'es' );
			$this->addColumnMultilanguage ( 'Ingles', 'cdContenido', 'en' );
			$this->addColumnMultilanguage ( 'Descripcion', 'cDescripcion' );
			$this->addColumn ( 'Archivo', 'cArchivo' );
			$this->setColumnAction ( 'Nombre', VER_CONTENIDO, 'ncContenido' );
			$this->aFields['aRotulo'] = is_array( getParam( 'aRotulo' ) )  ? implode(",", getParam( 'aRotulo' ) ): getParam( 'aRotulo' );
			$this->addColumnTag( 'ncRotulo', ACTUALIZAR_TAG_CONTENIDOS, 'ncContenido', 'gtContenidoRotulo', $this->oDatabase->getKeyArray('SELECT ncRotulo, cdRotulo FROM gtRotuloContenido' ) );
			$this->addColumnStar ( 'bEstrella', MODIFICAR_ESTRELLA_CONTENIDO, 'ncContenido', 'bEstrella' );			
			if ( getParam( PARAM_KEYLOOKUP ) )  $this->aFields['cKeyLookUp'] = getParam( PARAM_KEYLOOKUP );
			
			$oTab =& $this->setIndex( INDEX_USER, TAB_TOP , 'ncTipoContenido');
			$cSql = "SELECT ncTipoContenido, cdTipoContenido FROM gcTipoContenido ";
			$oTab->setMatrix( $this->oModule->oDatabase->getMatrix($cSql) );
		}
	function makeRowProperties( $aRow)
	{
		$aColores = array( 1 => 'green', 2 => 'white', 3 => 'red', 4 => 'black', 5 => 'yellow');
		return " style='background-color:". $aColores[$aRow['ncEstadoPublicacion']]."' " ;;
	}
	function query()
		{
			// Arma el Query
				$cSql = "SELECT Con.ncContenido, Con.ncEstadoPublicacion, Con.cdContenido, cDescripcion , bEstrella
								FROM gtContenido as Con";
			// Arma el Filtro de la Consulta
			// Obtiene de su filtro los parametros que necesita para armar el query
				$this->oFiltro->setDefaultSearchField( "concat(Con.cdContenido, ' ', Con.cDescripcion)" );
				$this->oWhere->addArray ( $this->oFiltro->getFilterdArray(),'Con');
				$this->oWhere->addKey ( $this->oDatabase->dbConcat( "' '", "cdContenido"  ), $this->aFields[cKeyLookUp] ); //
				$cSql .= $this->oWhere->make();
			return $cSql;
			return $cSql;
		}
	function makeListActions()
		{
			$cParametroRegistro =  $this->getFieldString();
			$this->addListAction ( AGREGAR_CONTENIDO, $cParametroRegistro, 'I' , VENTANA_SECUNDARIA);
		}
	function makeRowActions( $aRow )
		{
			$cParametroRegistro =  "ncContenido=" . $aRow["ncContenido"];
			$this->addRowAction ( MODIFICAR_CONTENIDO, $cParametroRegistro );
			$this->addRowAction ( ELIMINAR_CONTENIDO ,  $cParametroRegistro );
		}
	function makeComplex()
		{
			//if ( getParam('bComplex') == -1 ) return false;
			// Domicilios
			$oLst = $this->oModule->loadClass ( "menu_contenido_lst" );
			$oLst->aFields['ncContenido'] = $this->aFields['ncContenido'];
			$oLst->setNoPaging();
			$oLst->initialize();
			$oLst->open();
			if ( $oLst->oRecordset->count() > 0 )
			{
				$oLst->makeDir();
				//$oLst->make( 'NNNRD' );
			}
		}
	}
?>